# 作者：石吴震
# 2024年12月31日10时23分18秒
# 474160957@qq.com

import test
def use_exception1():
    while True:
        try:
            x = int(input("请输入一个整数："))
            print("你输入的数字是：", x)
            break
        except ValueError:
            print("请输入整形数字！\n")

def use_exception2():
    """
    掌握异常的种类
    :return:
    """
    while True:
        try:
            num = int(input("请输入一个整数："))
            result = 100 / num
            print(result)
            return
        # except ZeroDivisionError:
        #     print("不能除以0！")
        except ValueError:
            print("请输入整形数字！")
        except Exception as e:
            print(e)  # 打印未知异常
        else:   # 无异常发生时执行
            print("程序正常执行！")
        finally:   # 无论是否有异常发生都会执行,不受return影响
            print("程序执行结束,我算的快，但正不正确我就不知道了【狗头】")

def use_exception3():
    try:
        12-test.test()
    except Exception as e:
        print(e)
        #输出异常发生的文件（模块）和具体行数
        print("异常发生的文件（模块）：", e.__traceback__.tb_frame.f_globals["__file__"])
        print("异常发生的行数：", e.__traceback__.tb_lineno)


if __name__ == '__main__':
    # use_exception2()
    use_exception3()